package com.glodon.paas.document.dao;

import java.util.List;

import com.glodon.paas.document.dao.domain.RevisionEntity;

/**
 * @author admin
 */
public interface RevisionDao extends DBDao<RevisionEntity, String> {

    List<RevisionEntity> getRevisionsByFile(String fileId);

    RevisionEntity getRevisionByDatabag(String databagId);

    RevisionEntity getLatestUnavailableRevision(String fileId);

    RevisionEntity getLatestAvailableRevision(String fileId);

    RevisionEntity getRevision(String fileId, int revisionNum);

    void updateRevision(RevisionEntity revision);

    void updateDataBagId(String revisionId, String dataBagId);

    void deleteByFile(String fileId);

}
